package nl.hu.vakantievibes.client;

import java.util.Date;

import nl.hu.vakantievibes.domain.Reis;
import nl.hu.vakantievibes.ui.NotificationManager;
import nl.hu.vakantievibes.ui.ShowReizen;

import com.google.gwt.user.client.rpc.AsyncCallback;

public class DummyData {

	public DummyData() {

		AsyncCallback<Reis> callback = new AsyncCallback<Reis>() {
			@Override
			public void onFailure(Throwable caught) {
				NotificationManager.get().createNotification("Er is een server fout opgetreden. Excuses voor het ongemak.");
			}
			@Override
			public void onSuccess(Reis result) { 
				if(result == null) {
					//Users
					AsyncCallback<Boolean> callback1 = new AsyncCallback<Boolean>() {
						@Override
						public void onFailure(Throwable caught) {
							NotificationManager.get().createNotification("Er is een server fout opgetreden. Excuses voor het ongemak.");
						}
						@Override
						public void onSuccess(Boolean result) { 
							
						}
					};
					new ServerCall().registerUser("admin", "admin", callback1);
					new ServerCall().registerUser("test", "test", callback1);
					
					AsyncCallback<Boolean> callback1b = new AsyncCallback<Boolean>() {
						@Override
						public void onFailure(Throwable caught) {
							NotificationManager.get().createNotification("Er is een server fout opgetreden. Excuses voor het ongemak.");
						}
						@Override
						public void onSuccess(Boolean result) { 
							
						}
					};
					new ServerCall().setAdmin("admin", true, callback1b);
					
					//Reizen
					AsyncCallback<Boolean> callbackReizen = new AsyncCallback<Boolean>() {
						@Override
						public void onFailure(Throwable caught) {
							NotificationManager.get().createNotification("Er is een server fout opgetreden. Excuses voor het ongemak.");
						}
						@Override
						public void onSuccess(Boolean result) { }
					};
					new ServerCall().addReis("Chersonissos", "Griekenland", "Kreta", 399.99, new Date(111,5,23), new Date(111,6,1),
							"Chersonissos is de absolute topbestemming op Kreta. Dit is de plaats bij uitstek voor jongeren! De zon schijnt hier altijd, de zee is kraakhelder, er zijn veel leuke restaurants en winkels, maar het belangrijkste: het nachtleven in Chersonissos is weer-ga-loos! Omdat dit ons ook als muziek in de oren klinkt, hebben wij voor een vakantie in Chersonissos de beste hotels en appartementen geselecteerd." + "\n" + "\n" +
							"De boulevard is de 'place to be'. Aan de ene kant liggen restaurants met terrasjes die een heel romantisch uitzicht bieden over de Middelandse Zee, terwijl de andere kant bezaaid is met gezellige pubs, leuke kroegen en vette discotheken zoals de Amnesia, Bio Bio, Slam!Cafe, Oceans Beach Club, Camelot, Cameo, Mouragio, Nitro, New York, 't Hof van Holland en de Status. Maar we zijn nog lang niet klaar, want ook buiten deze straat kun je oneindig doorstappen in bijvoorbeeld de Matrix, de grootste club van Chersonissos met veel bekende dj's. Loop mee met de Kroegentocht en de Club Night zodat je weet waar jij de beste kroegen en clubs kunt vinden! Feest mee met duizenden feestgangers en ontdek zelf waarom het nachtleven hier zo populair is!" + "\n" + "\n" +
							"Heb jij overdag nog geen genoeg van de lekkere muziek? Snel je dan naar het megapopulaire Star Beach, een gratis toegankelijk waterpark vol met ligbedden, zwembaden, stranden, leuke strandbarretjes met goede muziek, uitstekende dj's en elke middag een spetterende schuimparty! Ook kun je hier bungeejumpen en vele watersportactiviteiten beoefenen. Bedenk wel goed welke bikini of zwembroek je aan doet want het is hier kijken en bekeken worden!" + "\n" + "\n" +
							"In Chersonissos zijn er natuurlijk ook veel vette excursies. Zo kun je onder andere heerlijk duiken, door het binnenland crossen tijdens de Jeepsafari en feesten op de Sunset Party Cruise. Een bezoek aan het adembenemende eilandje Spinalonga is ook zeker de moeite waard. Je vaart er per boot heen en je krijgt alles te horen over de trieste historie van het eiland. Wat je ook absoluut niet mag missen is de Crazy Greek Night, een openluchtfeest midden in de bergen met wereldbekende dj's! Zorg dat je erbij bent, want vol is vol!" + "\n" + "\n" +
							"Kreta is de nummer 1 feestbestemming! ", callbackReizen);
					
					new ServerCall().addReis("Blanes", "Spanje", "Costa Brava", 229.99, new Date(111,5,24), new Date(111,6,2), 
							"In Blanes is alles veel: veel zon, veel Nederlandse jongeren, veel winkeltjes, veel terrasjes en natuurlijk heel veel feest. Blanes is al jaren een van onze toppers en dat is niet voor niets. Logisch dus dat wij hier de leukste camping, hotels en appartementen hebben uitgezocht voor een geslaagde vakantie! " + "\n" + "\n" +
							"Het uitgaansleven in Blanes is geweldig. De avond begint in de Boemel waar je alvast een lekker drankje kan doen voordat je naar de bekende kroegen Gotcha, Sunset of Crowlies gaat. Als je echt de hele nacht uit je dak wilt gaan, kun je tot in de vroege uurtjes terecht bij een van vele discotheken. Echte aanraders zijn Arena, Essencia en Sala Vega! Het mooie van Sala Vega is dat het nog geen 50 meter van onze camping af ligt. Lekker makkelijk dus! " + "\n " + "\n" +
							"In de middag is er ook genoeg te doen in of rond Blanes. Je kunt er voor kiezen om op het strand van Blanes de hele dag lekker lui op je handdoekje te liggen. Als je ditzelfde een keer op een ander strand wilt doen, ga dan mee met een bootje naar de nabijgelegen stranden van Calella, Malgrat de Mar of Lloret de Mar. Bijbruinen onder hetzelfde zonnetje, maar in een andere topbestemming. Lekker toch? " +  "\n"  + "\n" +
							"Heb je naast het ongeremde nachtleven en het relaxte strand, zin in iets anders? Ga dan mee naar de wereldstad Barcelona of kom met ons stappen in het stapwalhalla van de Costa Brava, Lloret de Mar. Nog meer activiteiten? de Beachparty, Party Night, Kroegentocht en de Dutch Night zullen deze vakantie onvergetelijk maken!" + "\n" + "\n" +
							"Blanes is een echte partybestemming met zon, strand, uitgaan en heel veel Nederlandse feestbeesten!", callbackReizen);
					
					new ServerCall().addReis("Albufeira", "Portugal", "Algarve", 319.99, new Date(111,5,28), new Date(111,6,9),
							"Voor een geslaagde vakantie aan de Algarve moet je in Albufeira zijn! Albufeira is namelijk de stapplaats van de Algarve. Van een oud vissersdorpje is Albufeira uitgegroeit tot een supergezellige en bruisende badplaats voor jongeren. Hier liggen dan ook de hotels, appartementen en villa's die VakantieVibes voor jou heeft uitgezocht." + "\n" + "\n" +
							"Het oude gedeelte van Albufeira bestaat vooral uit kleine straatjes en gezellige pleintjes met ontelbaar veel terrassen, kroegen en restaurants. Natuurlijk zijn er ook veel stapmogelijkheden, zoals het Nederlands Feestcafe Bloopers, waar het elke avond tot in de vroege uurtjes doorgaat!" + "\n" + "\n" +
							"De meeste uitgaansmogelijkheden vind je in Praia da Oura, op de Strip. Dit is een lange straat waar de leukste kroegen Celebration, Liberto's en de bekende discotheken Wild & Co en Kiss te vinden zijn. Waar elke club om 4 uur stopt, gaat de Kiss door!" + "\n" + "\n" + 
							"Het zandstrand van Albufeira ligt in een schitterende baai met glashelder zeewater voor een verfrissende duik en waar je ook vele watersporten kunt beoefenen. Wil jij niets missen, maar heb je geen zin om alles zelf uit te zoeken? Geen probleem, want wij hebben natuurlijk een uitgebreid partypakket in elkaar gezet. Wat dacht je van een dagtocht naar Lissabon of het binnenland doorcrossen met de jeepsafari? Wil je liever een hele dag relaxen, dan is de cruise met barbecue een absolute aanrader. Albufeira bruist er ook in de nacht op los. We laten je op de eerste dag met de kroegentocht al zien wat er 's nachts allemaal te beleven is. De Dutch Night mag je ook zeker niet missen, want alleen wij Hollanders kunnen feesten als de beste!" + "\n" + "\n" +
							"Albufeira staat garant voor een onvergetelijke vakantie!", callbackReizen);
					
					new ServerCall().addReis("Lacanau Ocean", "Frankrijk", "Zuid-Frankrijk", 209.99, new Date(111,5,29), new Date(111,6,10), 
							"De warme zon, de krachtige golven van de Atlantische Oceaan en de heerlijke zandstranden maken Lacanau Ocean tot een ideale watersportbestemming! Surfen krijgt een hele andere dimensie met de enorme golven die in de Golf van Biskaje de overhand hebben. Na een dagje zonnen of surfen moet je zeker even blijven zitten voor de schitterende zonsondergang die je echt gezien moet hebben!" + "\n" + "\n" +
							"In het gezellige Lacanau Ocean kun je naast het vele zonnen en surfen in je vakantie ook erg goed feesten! Zo zijn er leuke kroegen als Bacardi Bar, Le Modjo en Kontiki. In de laatste worden er, naast jouw mooie danspasjes, ook veel leuke dansshows gegeven. De echte clubfeesten worden in de populaire discotheken Bat Cafe en Le Tex gegeven! Naast de indoorstapmogelijkheden worden er 's avonds op de boulevard van Lacanau Ocean vaak activiteiten met muziek en dans georganiseerd. Daarnaast zijn er veel kampvuurtjes op het strand, wat natuurlijk erg leuk en gezellig is. Je zult je in Lacanau niet snel vervelen!" + "\n" +  "\n" +
							"Maar je kunt nog veel meer uit je vakantie in Lacanau halen. Zo kun je met ons mee naar de stad Bordeaux of naar het Meer van Lacanau Ocean. Op dit meer kun je nog veel meer watersporten beoefenen zoals waterskien, kanoen en kitesurfen. Misschien is de cocktailparty of een middag paintballen meer iets voor jou? Wat je ook wilt, er zit altijd iets voor jou bij! VakantieVibes heeft de leukste en beste camping en residence uitgezocht zodat jij je over je verblijf geen zorgen hoeft te maken." + "\n" + "\n" +
							"Lacanau Ocean is de ideale jongerenbestemming voor jouw zon-, surf- en stapvakantie! ", callbackReizen);
					
					new ServerCall().addReis("Rimini", "Italie", "Adriatische Kust", 249.99, new Date(111,6,10), new Date(111,6,17), 
							"Rimini is hot en mag daarom zeker niet in onze lijst ontbreken. Zo heeft deze badplaats naast een perfect zonovergoten zandstrand een uitgaansleven wat doorgaat! In dit stapparadijs voor jongeren vind je leuke kroegen zoals de Copacabana, Gotha Bar en Shooters waar je compleet los kunt gaan! Maar Rimini staat vooral bekend om het explosieve clubleven. Zo zijn de discotheken Altro Mondo, Baia Imperiale, Maldini Beach en de op Nederlanders gerichte discotheek Life zeker de moeite waard! Vooral de Baia Imperiale en Altro Mondo zijn een aanrader. De Baia Imperiale ligt in de bergen van Cattolica en is een enorme club in Romeinse stijl met verschillende zalen en een prachtig zwembad. De feesten in de Altro Mondo zijn populair vanwege de lasershow. De meeste hotels en appartementen hebben een perfecte ligging zodat je niets mist!" + "\n" + "\n" +
							"In de middag kun je heerlijk neerploffen en je roes uitslapen op de schitterende zandstranden terwijl de warme zon tegelijkertijd aan je kleurtje werkt. Je kunt er ook voor kiezen om de schaduw op te zoeken op een ligbedje onder een van de honderden parasols. In Rimini moet je op de stranden voor de ligbedjes betalen en via de reisleiding kun je hier korting voor krijgen. Het strand van Rimini is kilometers lang en meer dan honderd meter breed. Maar je kunt hier meer doen dan alleen zonnen. Ben je niet bang om nat te worden? Spring dan op de jetski en race over de golven van de Middellandse Zee!" + "\n" + "\n" +
							"Naast de strandactiviteiten is er in Rimini natuurlijk nog veel meer keus. Kom lekker luieren op de Relaxing Cruise of ga mee naar het ministaatje San Marino. Ben jij een romanticus in opkomst? Vergeet dan ook zeker niet mee te gaan naar de meest romantische stad ter wereld, Venetie." + "\n" + "\n" +
							"Kies jij voor de mooiste stranden, een leuke cultuur en een weergaloos uitgaansleven? Kies dan voor een vakantie in Rimini!", callbackReizen);
					
				}
				Systeem.get().showPage(new ShowReizen().createPage());
			}
		};
		new ServerCall().zoekReis("Chersonissos", callback);
		
		//Landen
		LocatieFactory.getLocaties().addLand("Belgie");
		LocatieFactory.getLocaties().addLand("Duitsland");
		LocatieFactory.getLocaties().addLand("Portugal");
		LocatieFactory.getLocaties().addLand("Spanje");
		LocatieFactory.getLocaties().addLand("Nederland");
		LocatieFactory.getLocaties().addLand("Brazilie");
		LocatieFactory.getLocaties().addLand("Australie");
		LocatieFactory.getLocaties().addLand("Rusland");
		LocatieFactory.getLocaties().addLand("Frankrijk");
		
		//Plaatsen
		LocatieFactory.getLocaties().addPlaats("Berlijn");
		LocatieFactory.getLocaties().addPlaats("Praag");
		LocatieFactory.getLocaties().addPlaats("Amsterdam");
		LocatieFactory.getLocaties().addPlaats("Madrid");
		LocatieFactory.getLocaties().addPlaats("Barcelona");
		LocatieFactory.getLocaties().addPlaats("Porto");
		LocatieFactory.getLocaties().addPlaats("Utrecht");
		LocatieFactory.getLocaties().addPlaats("Moskou");
		LocatieFactory.getLocaties().addPlaats("Brussel");
		LocatieFactory.getLocaties().addPlaats("Parijs");
		
		
	}

}
